var y = 0;
var elasticity = 0.5;
var baseTime = 1
var height = 1000
var speed=height/baseTime

// 因为每一帧都是重新运算,
// 相当于每一帧都要计算一下当前小球的位置和已经回弹几次了

// 所以我们做一个大胆的假设简化问题

// 第一秒就是小球落下来的时间
// 受弹力系数的影响,只能弹一半, 那么他的速度应该损失一半
// 1到1.5秒是小球弹起的时间
// 1.5到2秒是小球再次落下的时间
var timeArr = [0,1*baseTime,1.5*baseTime,2*baseTime,2.25*baseTime,2.5*baseTime,2.625*baseTime,2.75*baseTime]// 对应第一次落地, 第一次空中滞留,第二次落地.....

let count = 0 // 当前是第几次
// time也就是当前时间 根据时间知道当前处于第几次
for (let i = 1; i < timeArr.length; i++) {
    if(time<timeArr[i]){
        count = i
        break
    }
}
// 知道了第几次, 开始计算位置,  先不考虑加速度问题,先以匀速计算
// 落下
if(count%2===1){
    speed*(time-timeArr[count-1])+
}else{
    // 弹起
    speed
}


[0,y]
function startMove(dom) {
    clearInterval(dom.timer);
    // 模拟x轴运动速度
    var iSpeedx = 6;
    // 模拟y轴运动速度
    var iSpeedy = 8;
    // 模拟重力加速度
    var g = 3
    // 设置定时器
    dom.timer = setInterval(function () {
        // v = v0 + at; 速度逐渐增加
        iSpeedy += g;
        // 顶部和底部的 speed 
        var newTop = dom.offsetTop + iSpeedy;
        var newLeft = dom.offsetLeft + iSpeedx;

        // 如果当前的y值位置 >= 文档高度 - dom高度（判断小球是否超出文档）
        if (newTop >= document.documentElement.clientHeight - dom.clientHeight) {
            // speedy 方向改变
            iSpeedy *= -1;
            // speedy 与 speedx 速度减少
            iSpeedy *= 0.8;
            iSpeedx *= 0.8;
            newTop = document.documentElement.clientHeight - dom.clientHeight;
        }
        if (newTop <= 0) {
            iSpeedy *= -1;
            iSpeedy *= 0.8;
            iSpeedx *= 0.8;
            newTop = 0;
        }
        if (newLeft >= document.documentElement.clientWidth - dom.clientWidth) {
            iSpeedx *= -1;
            iSpeedy *= 0.8;
            iSpeedx *= 0.8;
            newLeft = document.documentElement.clientWidth - dom.clientWidth;
        }
        if (newLeft <= 0) {
            iSpeedx *= -1;
            iSpeedy *= 0.8;
            iSpeedx *= 0.8;
            newLeft = 0;
        }
        // 最终停止条件
        if (Math.abs(iSpeedx) < 1) {
            iSpeedx = 0;
        }
        if (Math.abs(iSpeedy) < 1) {
            iSpeedy = 0;
        }
        if (iSpeedy == 0 && iSpeedx == 0) {
            // 清除定时器
            clearInterval(dom.timer);
            console.log("timer clear all");
        }
        // 改变样式
        dom.style.top = newTop + 'px';
        dom.style.left = newLeft + 'px';
    }, 30);
    console.log("timer end");
}

